package br.tads.poo.notas.gerencia;
import java.util.ArrayList;

import br.tads.poo.notas.excecoes.CaracteresInsulficientesException;
import br.tads.poo.notas.excecoes.EntradaComEspacosException;
import br.tads.poo.notas.excecoes.EntradaStringVaziaException;
import br.tads.poo.notas.gerencia.Usuario;

public class Gerente {
	private ArrayList<Usuario> usuarios = new ArrayList<Usuario>();
	
	public String criarUsuario(String nome, String senha) throws CaracteresInsulficientesException, EntradaStringVaziaException, EntradaComEspacosException{
		try{	
			for(int i = 0; i < usuarios.size(); i++){
				if(nome.equals(usuarios.get(i).getNome())){
					return "- Nome de usuario existente.";
				}
			}
			Usuario usuario = new Usuario(nome, senha);
			usuarios.add(usuario);
			return "- Usuario criado.";		
		}	
		catch(CaracteresInsulficientesException	e){	
			return e.getMessage();
		}
		catch(EntradaStringVaziaException e){	
			return e.getMessage();
		}
		catch(EntradaComEspacosException e){	
			return e.getMessage();
		}
	}
	
	public Usuario logarUsuario(String nome, String senha){
		for(int i = 0; i < usuarios.size(); i++){
			if(nome.equals(usuarios.get(i).getNome())){
				if(senha.equals(usuarios.get(i).getSenha())){
					return usuarios.get(i);
				}
			}
		}
		return null;
	}
	
	public String excluirUsuario(String nome, String senha){
		for(int i = 0; i < usuarios.size(); i++){
			if(nome.equals(usuarios.get(i).getNome())){
				if(senha.equals(usuarios.get(i).getSenha())){
					usuarios.remove(usuarios.get(i));
					return "- Usuario excluido.";
				}
				else{
					return "- Senha incorreta.";
				}
			}
		}
		return "- Usuario não encontrado.";
	}
}